function GardnerParams = GardnerInit()
    GardnerParams.w = 16384; % 16bits, signed
    GardnerParams.w_fifo = GardnerParams.w .* ones(5,1);
    GardnerParams.nco = [22938; 0]; % 16bits, signed
    GardnerParams.u = 19660; % 16bits, signed

    GardnerParams.farrow_num = 0;

    %new->old
    GardnerParams.data_for_farrow = zeros(4, 1);
    GardnerParams.farrow_output = zeros(3, 1);
    GardnerParams.time_error = zeros(2, 1);

    GardnerParams.err_filter = 0;

    GardnerParams.watch.nco = [];
    GardnerParams.watch.farrow_output = [];
    GardnerParams.watch.w = [];
    GardnerParams.watch.u = [];
    GardnerParams.watch.time_error = [];
    GardnerParams.watch.w_delta = [];
    GardnerParams.watch.err_filter = [];
end
